#ifndef LCD_H
#define LCD_H

extern volatile unsigned char xdata cursor_pos;
extern volatile unsigned char xdata lcd_map[4][20];

void lcd_splash();
void lcd_command(unsigned char command);
void lcd_initialize();
void lcd_write_string_at_pos(unsigned char ch[], unsigned char row, unsigned char col, unsigned char len);
unsigned char get_curr_lcd_char();
void update_lcd_map(unsigned char ch, unsigned char pos);
void lcd_write_character(unsigned char ch);
void get_field(unsigned char* buf, unsigned char* target, unsigned char max_len, unsigned char field_no);
void lcd_define_custom_character(unsigned char ch[], unsigned char no);
void lcd_command(unsigned char command);
void lcd_clear();
void lcd_write_string_s(unsigned char* splash, unsigned char len);

#endif
